package vip.xiaonuo.smzq.modular.lifecycle.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import vip.xiaonuo.smzq.modular.lifecycle.base.Base;
import vip.xiaonuo.smzq.modular.lifecycle.vo.MineCoordinateVO;

/**
 * <p>
 * 全生命周期族谱
 * </p>
 *
 * @author 于彦飞
 * @since 2024-04-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("life_cycle_pedigee")
@ApiModel(value="全生命周期族谱对象", description="全生命周期族谱")
public class LifeCyclePedigee  extends Base implements Serializable {

    public static final String 节点类型_分立_合并_压覆_合并以后 = "节点类型(分立、合并、压覆，合并以后)";
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId("id")
    private String id;


    @ApiModelProperty(value = "全生命周期储量id")
    @TableField("mine_store_id")
    private String mineStoreId;


    @ApiModelProperty(value = "族谱父id,顶级节点父id为零，普通节点父id为一个数组，因为涉及到合并的时候")
    @TableField("parent_id")
    private String parentId;

    @ApiModelProperty(value = "名称")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "矿区编号")
    @TableField("mineral_code")
    private String mineralCode;


    @ApiModelProperty(value = "登记分类编号")
    @TableField("reg_class_code")
    private Integer regClassCode;


    @ApiModelProperty(value = "年度")
    @TableField("year")
    private Integer year;

    @ApiModelProperty(value = "新立索引")
    @TableField("xl_index")
    private Integer xlIndex;

    @ApiModelProperty(value = "节点类型(分立、合并、压覆)")
    @TableField("type")
    private String type;

    @ApiModelProperty(value = "备注字段")
    @TableField("remark")
    private String remark;

    @ApiModelProperty(value = "许可证号")
    @TableField("xkzh")
    private String xkzh;

    @ApiModelProperty(value = "是否是主矿山")
    @TableField("main_mine")
    private Boolean mainMine;

    @ApiModelProperty(value = "位置x坐标")
    @TableField("loc_x")
    private Double locX;

    @ApiModelProperty(value = "位置y坐标")
    @TableField("loc_y")
    private Double locY;

    @ApiModelProperty(value = "矿业权类型")
    @TableField("expore_type")
    private Integer exporeType;

    @ApiModelProperty(value = "主矿产码")
    @TableField(exist = false)
    private Integer zkcm;

    @ApiModelProperty(value="坐标对象")
    @TableField(exist = false)
    private MineCoordinateVO mineCoordinateVO;

}
